package com.agritech.controller;

import com.agritech.entity.Category;
import com.agritech.service.CategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 分类控制器
 */
@RestController
@CrossOrigin
@RequestMapping("/api/categories")
public class CategoryController {
    
    @Autowired
    private CategoryService categoryService;
    
    /**
     * 获取所有分类
     * @return 分类列表
     */
    @GetMapping
    public List<Category> getAllCategories() {
        return categoryService.getAllCategories();
    }
    
    /**
     * 根据ID获取分类
     * @param id 分类ID
     * @return 分类对象
     */
    @GetMapping("/{id}")
    public Category getCategoryById(@PathVariable Long id) {
        return categoryService.getCategoryById(id);
    }
    
    /**
     * 添加新分类
     * @param category 分类对象
     * @return 添加结果
     */
    @PostMapping
    public boolean addCategory(@RequestBody Category category) {
        return categoryService.addCategory(category);
    }
    
    /**
     * 更新分类信息
     * @param category 分类对象
     * @return 更新结果
     */
    @PutMapping
    public boolean updateCategory(@RequestBody Category category) {
        return categoryService.updateCategory(category);
    }
    
    /**
     * 删除分类
     * @param id 分类ID
     * @return 删除结果
     */
    @DeleteMapping("/{id}")
    public boolean deleteCategory(@PathVariable Long id) {
        return categoryService.deleteCategory(id);
    }
}    